package com.doit.day02

import scala.language.postfixOps

/*
object 里面所有的东西都是静态的
class 里面所有的东西都是非静态的
 */
object _01_for循环 {
  def main(args: Array[String]): Unit = {

    val arr = Array(1, 2, 3, 4, 5)

    for (elem <- arr) {
      println(elem)
    }

    //scala中能标识0-1000的循环吗？  语法糖
    // 0 - 1000 左闭右闭
  /*  for (elem <- 0 to 1000 ) {
      println(elem)
    }


    // 0 - 1000 左闭右开
    for (elem <- 0 until 1000 ) {
      println(elem)
    }


    for (elem <- 0 until arr.length ) {
      println(elem)
    }
*/


    //0.until(5,2)
    //0 until 5 by 2
    for (elem <- 0 until 5 by 2) {
      println(elem)
    }


    //讲一些没用的  但是你得认识
    for(elem <- 0 to 10 ){
      //我现在只想要偶数，不想要奇数
      if(elem % 2 == 0){
        println(elem)
      }
    }



    //循环守卫
    for(elem <- 0 to 10 if elem % 2 == 0 ){
      //我现在只想要偶数，不想要奇数
        println(elem)
    }


    //双重for循环
    //打印99乘法表
    for(i <- 1 to 9) {
      for(j <- 1 to i){
        print(s"$i * $j = ${i*j}\t")
      }
      println()
    }

//    i +" * " + j + " = " + i*j \t


    for(i <- 1 to 9;j <- 1 to i){
      print(s"$i * $j = ${i*j}\t")
      if(i == j) println()
    }


    //引入变量
    for(i <- 1 to 3; j = 4 - i) {
      println("i=" + i + " j=" + j)
    }


    var j = 0;
    for(i <- 1 to 3){
      j = 4 - i
      println("i=" + i + " j=" + j)
    }


    for(i <- 1 to 3 reverse){
      println(i)
    }




  }

}
